﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using GameEngineer.BaseMatrix;
using System.Windows.Forms;
using System.Drawing;

namespace GameEngineer.BaseShape
{
    public abstract class BaseShape
    {
        //法线
        protected Vertex.Vertex4 mNormal = null;
        //光照与法线之间的角度(cos(角度))
        protected Vertex.Vertex4 mLithtingDot = null;

        //将形状画出来
        public abstract void Draw(Graphics graphics);

        //矩阵变换
        public abstract void Transform(Matrix4X4 matrix);

        //求出法线
        public virtual Vertex.Vertex4 GetNormal() { return null; }

        //求出光照与法线之间的角度(cos(角度))
        public virtual float GetLightDot(Vertex.Vertex4 lightingDir) { return default(float); }
    }
}
